Code Generation and Model Driven Development for Constrained Embedded Software

نویسنده

  • Andrzej Wąsowski
چکیده

We consider statechart models of discrete control embedded programs operating under severe memory constraints. There have been very few results in code generation for such systems. We analyze code generation methods for embededded processors utilizing C as an intermediate language and runtime interpreters. We choose a suitable subset of hierarchical statecharts and engineer an efficient interpreter for programs in it. An algorithm is provided that simplifies general models to our sublanguage removing dynamic scoping and transition conflicts. The resulting code generator improves over an industrial implementation provided by IAR A/S. The interpreter for hierarchical statecharts is complex. We define flattening as a process of transforming hierarchical models into their hierarchy-less counterparts. We prove that even with a simulation-based correctness criterion any flattening algorithm would cause a super polynomial growth of models, if it does not exploit message passing. Then we devise a polynomial flattening algorithm based on internal asynchronous communication in the model. The implementation of this algorithm beats our earlier hierarchical code generator by 20–30% on realistic examples. In the second part of the thesis we develop a unified theory for specifying correctness of model transformations and modeling software product lines. Our framework is based on a novel notion of color-blindness: a dynamically changing inability of the environment to observe differences in system outputs. Being safe approximations of all possible usage scenarios such environments can be used to specify specialized versions of the product. We propose a correctness criterion for specialization algorithms based on Larsen’s relativized bisimulation extended with color-blindness. Any good modeling formalism for software product lines supports composition and step-wise modeling, so that families can be organized in hierarchies or even more flexible structures. To serve this purpose we introduce an information ordering on our models of environments. Crucially, we show that the abstract information preorder can be characterized operationally by means of simulation. Then we use the information preorder to define intuitive composition operators as meets and joins in the associated quotient lattice. We demonstrate an extended example using a hierarchical family of alarm clocks specified by means of color-blind environments.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Component-Oriented Programming for Embedded Mobile Robot Software

Applying software reuse to many Embedded Real-Time (ERT) systems poses significant challenges to industrial software processes due to the resource-constrained and real-time requirements of the systems. Autonomous Mobile Robot (AMR) system is a class of ERT systems, hence, inherits the challenge of applying software reuse in general ERT systems. Furthermore, software reuse in AMR systems is chal...

متن کامل

Integration of the Code Generation Approach in the Model-Based Development Process by Means of Tool Certification

The software and hardware quality of safety-critical embedded systems in avionics and the automotive sector is currently ensured by means of extensive assurance procedures (e.g. certification). The way embedded software is developed has changed, such that executable models are used from the early development stages up to implementation in order to design and verify the software behaviour desire...

متن کامل

An Exploration of the 'It' in 'It Depends': Generative versus Interpretive Model-Driven Development

Software producing organizations are increasingly using model driven development platforms to improve software quality and developer productivity. Software architects, however, need to decide whether the platform generates code (that might be compiled) or if the model is immediately interpreted by an interpreter embedded in the application. Presently, there is no clear guidance that enables arc...

متن کامل

Key Research Challenges for Successfully Applying MDD Within Real-Time Embedded Software Development

Model-Driven Development (MDD) is a software development paradigm that promotes the use of models at different levels of abstraction and perform transformations between them to derive one or more concrete application implementations. In this paper we analyze the current status of MDD regarding its applicability for the development of Real-Time Embedded Software. We discuss different modeling fr...

متن کامل

Automatic Generation of a Multi Agent System for Crisis Management by a Model Driven Approach

Considering the increasing occurrences of unexpected events and the need for pre-crisis planning in order to reduce risks and losses, modeling instant response environments is needed more than ever. Modeling may lead to more careful planning for crisis-response operations, such as team formation, task assignment, and doing the task by teams. A common challenge in this way is that the model shou...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005